package com.cn.wanxi.model;

public class ReadMe {
    /**
     * 1.面向对象，就是将页面的数据全部封装到实体类（model）
     * 2.将页面java代码进行删除，为了不和jsp代码有相关联，解耦
     *      1）jstl包的引用 c:forEach
     *                  <c:forEach items="${navList}" var="aa">
     *                     <a href="${aa.href}">
     *                         <li>${aa.title}</li>
     *                     </a>
     *                 </c:forEach>
     *      2）el表达式  ${topModel.phone}
     * 3.逻辑关系
     *  1）配置web.xml  程序启动时，要访问首页，所以我们在<welcome-file>home</welcome-file>
     *  2）配置HomeServlet  在HomeServlet类上面加了注解@WebServlet("/home")
     *  3）注解和web.xml里面的值一样，才能找到
     *  4）首先我们先做foot底部，底部我们需要将数据封装到FootModel，然后给他们一个set和get方法
     *  5）在HomeServlet增加了传值语句req.setAttribute("footModel", footModel); 括号里面左边叫key，右边叫value
     *  6）将数据进行转发到需要展示的页面req.getRequestDispatcher("/jsp/home.jsp").forward(req, resp);
     *  7）将底部jsp页面修改成el表达式，因为我们需要得到后台传递过来的值。<p>网址: ${footModel.net}
     *  8）底部文件数据就传递结束
     *
     * 同理：我们top.jsp和底部一样
     *  1）将top分为两部分
     *      第一：logo，phone ，ad
     *      第二：导航
     *      因为第一部分是变量，第二是集合需要遍历(循环)
     *  2）对于第一来说，和底部一样
     *         TopModel topModel = new TopModel();
     *         req.setAttribute("topModel", topModel);
     *         在页面进行接收：${topModel.phone}
     *  3）因为我们导航是六个相同的对象：相同对象我们抽象出一个类NavModel，相同部分为href地址和title标题
     *  4）我们需要将这六个对象进行封装，所以这里引用了集合List<NavModel>  将NavModel放入lsit里面
     *      List<NavModel> navList = new ArrayList<>();
     *  5）放入List里面需要对每一个NavModel进行赋值，所以用到了for循环
     *       for (int i = 0; i < topModel.href.length; i++) {
     *          NavModel navModel = new NavModel();
     *          navModel.setHref(topModel.href[i]);//将连接封装到实体类
     *          navModel.setTitle(topModel.nav[i]);
     *  6）每一次循环我们都需要将新得到的NavModel放入到list   navList.add(navModel)
     *  7）循环完成后，就得到了我们需要的list
     *  8）将list返回给页面req.setAttribute("navList", navList);//这是导航数据
     *  9）此刻，我们头部数据已经封装完成
     *
     *  即：所有数据封装完成，转发到页面
     *      req.getRequestDispatcher("/jsp/home.jsp").forward(req, resp);//将值转发到页面去
     *  今日任务：
     *      将新闻，产品页面通过面向对象的方式，把数据全部显示出来
     *  明天任务：
     *      jsp的九大内置对象
     *      jsp的四大作用域
     *
     *
     *
     *
     *
     *
     */
}
